package com.example.homeworkmanagement.service;

import com.example.homeworkmanagement.dto.*;
import com.example.homeworkmanagement.pojo.Teaches;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.homeworkmanagement.vo.ResultVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 拒绝加班
 * @since 2025-05-25
 */
public interface TeachesService extends IService<Teaches> {
    // 根据教学安排id获取教学安排详情
    ResultVO<TeachesAndClassesDTO> getTeachesDetail(Integer teachId);
    // 获取教学安排列表
    ResultVO<List<Teaches>> getTeachesList(Teaches teaches, int page, int size);
    // 新增教学安排
    ResultVO<Teaches> addTeaches(Teaches teaches);
    //新增教学安排2
    ResultVO<Teaches> addTeaches2(String classNames,String courseName,String teacherId);
    // 更新教学安排
    ResultVO<Teaches> updateTeaches(Teaches teaches);
    // 删除教学安排
    ResultVO<Teaches> deleteTeaches(Integer teachId);
    //根据教师id查询教授的课程信息
    ResultVO<List<CoursesAndTeachesAndClassesDTO>> getCourseTeachesInfoByTeacherId(String teacherId, String courseName, String courseCredits, int page, int size);
    // 根据班级ID分页查询课程信息
    ResultVO<List<CoursesAndTeachesAndTeachersAndClasssesDTO>> getInfoByClassId(String classId, String teacherName, String courseName, String courseCredits, int page, int size);
    //根据教师id获取所交的班级名称串列表
    ResultVO<List<String>> getClassNamesListByTeacherId(String teachId);
}
